LoadRunner测试webservice接口性能 | 您所在的位置:网站首页 › loadrunner webservice脚本 › LoadRunner测试webservice接口性能 |
用LoadRunner测试接口性能 方法一:通过wsdl地址调用接口 1、打开LoadRunner点击左上角选择新建脚本,在弹出窗口中选择web service协议,然后点击create按钮 2、点击 Manager services(注意:点击前右侧窗口脚本的光标必须在“return();”之前),在弹出窗口中点击Import,在弹出窗口内选择“url”并填入要测试接口对应的地址,在地址的后面加上“?wsdl”,然后点击Import
3、导入url成功后会有相应的信息出现,然后点击“ok”
4、点击“Add service call”,然后在弹出的窗口中Opertion对应的下拉列表中选择要测试的方法,在左侧选择Import Arguments,然后在右侧value中输入对应的请求(也可以随便输入,下面可以再脚本中修改)。
5、在窗口左侧选择out,然后在右侧勾选“Save returned...”,在parameter对应的内容可以修改,可以保持不变,其实就是一个变量,用来存储输出的值。
6、完成上述操作后自动生成如下脚本,标红的地方为刚才随意输入的请求内容,现在用合法的请求替换掉
7、在脚本中替换请求内容后调试下脚本看是否有错误,如果脚本正常,那就设计运行场景,进行后续的负载测试工作。
方法二:导入XML文件
先看下面开发人员给的对应接口的请求内容: { "sysId": "1", "userName": "root", "passWord": "root321", "queryArray": [ { "fltNum": "QW9977", "fltDate": "2014-04-12", "orig":"SZX" } ] } 如上所示,我们从开发人员那里获得的请求内容为js格式的,不是xml格式的,此时我们再用方法一来试试: 1、导入在脚本中粘贴上我们的请求发现有“:”、“}”等都没有变成蓝色,而是黑色显示,这说明这些内容是LoadRunner未识别的,我们运行一下发现日志中也有很多日志报出,这是什么原因呢?因为LoadRunner脚本时遵循的C语言的语法规则,而这些符号在C语言中是有定义的,我们要想使用必须添加转义字符使他们转义。一一修改又太麻烦,所以介绍使用LoadRunner测试接口的第二种方法:导入xml文件法。
2、在soapUI中添加js请求,调试脚本看是否通过
3、脚本调试通过后将脚本另存为xml文件
4、点击Import SOAP,点击“...”按钮选择刚才从soapUI中另存出来的xml文件
5、然后窗口中内容变多,在URL中粘贴要测试接口对应的链接,SOAP Action中和开发人员沟通看是否有对应的Action,没有就不用填写,Response paramenter对应的内容随便填写, 是为了给服务请响应的内容定义一个存储的变量。
6、通过以上操作点击ok后出现如下脚本,运行后通过,我们可以继续后续的性能测试工作。
我们仔细对比一下这两种情况下脚本的变化: 调用接口后直接粘贴请求的脚本: Action() {
web_service_call( "StepName=getTotalPassAndTotalAcPassAndTotalLuagg_102", "SOAPMethod=FlightInfoAndVipPassInfoQueryWebService|FlightInfoAndVipPassInfoQueryWebServiceHttpPort| getTotalPassAndTotalAcPassAndTotalLuagg", "ResponseParam=response", "Service=FlightInfoAndVipPassInfoQueryWebService", "ExpectedResponse=SoapResult", "Snapshot=t1405582936.inf", BEGIN_ARGUMENTS, "in0={ "sysId": "1", "userName": "root", "passWord": "root321", "queryArray": [ { "fltNum": "QW9977", "fltDate": "2014-04-12", "orig":"SZX" } ] }", END_ARGUMENTS, BEGIN_RESULT, END_RESULT, LAST);
return 0; }
导入xml文件后生成的脚本: Action() {
soap_request("StepName=SOAP Request", "URL=http://192.168.0.125:8090/qwsis/services/FlightInfoAndVipPassInfoQueryWebService?wsdl", "SOAPEnvelope=" "" "" "" "" "" " {" " \"sysId\": \"1\"," " \"userName\": \"root\"," " \"passWord\": \"root321\"," " \"queryArray\": [" " {" " \"fltNum\": \"QW9977\"," " \"fltDate\": \"2014-04-12\"," " \"orig\":\"SZX\"" " }" " ]" "}" " " "" "" "", "SOAPAction=", "ResponseParam=response", "Snapshot=t1405565685.inf", LAST);
return 0; }
我们会发现第二种情况的脚本使用“”把请求中的“{”、“[”进行了处理,而“””则用“\”来进行了转义处理,处理后脚本中的内容都被识别,并变为了蓝色字体显示。 |
CopyRight 2018-2019 实验室设备网 版权所有 |